查看原文
其他

Cocos Creator 2.2.1 正式发布

Santy & Jare COCOS 2022-06-10

Jare

为了让你的作品在每一个平台上都表现出色,Cocos Creator 每天都在全力奔跑。


在之前的 v2.2.0 版本中,我们着力优化了原生平台的渲染性能,有大量的开发者积极升级和体验,这给我们带来了极大的鼓励和信心,非常感谢大家对 Cocos Creator 新版本的关注。


通过论坛、沙龙、企业服务等渠道我们收到了大家反馈的问题和改进建议,对于产品尚未完善之处,向大家表示诚挚的歉意,也衷心感谢所有与我们耐心沟通,提交反馈,与我们共同成长的伙伴们,Cocos 会一如既往地优化产品的性能与使用体验。

 

经过一个多月时间紧张迭代,v2.2.1 如期发布了。



v2.2.1 在 v2.2.0 的基础上进行了大量的体验优化缺陷修复更全面地优化了性能,同时加入了对支付宝小游戏的支持。建议所有版本的开发者升级,升级之前请根据项目情况进行必要的技术评估和版本备份!



What's New       


1. 支持支付宝小游戏


随着小游戏的发展,小游戏领域也越来越被更多厂商所重视,新的平台也意味着新的机遇,作为国内的电商巨头,支付宝近期开放了小游戏的支持,Cocos Creator 也在第一时间进行了适配,并在 v2.1.4 整合了发布到支付宝小游戏的能力。


今日发布的 Cocos Creator v2.2.1 也同步支持了支付宝小游戏,使用说明请参考发布到支付宝小游戏



2.支持微信小游戏引擎插件


游戏引擎插件是微信 7.0.7 版本新增的一项功能,能极大减少游戏的下载时间。对于这个重大利好的功能,Cocos 在第一时间就发布了对应的编辑器插件,提供了对 Creator 老版本的有力支持。


目前此功能正式合并到了 v2.2.1 中,开发者使用起来会更加便捷。只需在 构建发布 面板中,勾选 允许分离引擎,然后正常 构建发布 即可,无需其它人工操作。详见《微信小游戏引擎插件使用说明》。



3.Camera 组件增强


  • 新增了 Align With Screen 属性,勾选后摄像机不论处于 2D/3D 节点模式,都会将视窗大小自动保持为整个屏幕的大小。取消勾选的话,开发者可以自由设置 Ortho Size(2D/3D)或者 FOV(3D)。

  • 在 2D 模式下也提供了和 3D 模式相同的 Rect 属性,用于指定摄像机绘制在屏幕上的哪个区域,便于实现类似小地图那样的 Viewport。



Improvements       


  • 优化原生平台上调用 addChild 时的性能,提升场景切换速度

  • 支持自动释放运行时的 JSON 资源包,优化内存占用

  • TiledMap 支持 TileSet 包含多贴图格式

  • 优化原生 DragonBones 和 Spine 颜色更新性能(感谢 wyf

  • 在 cc.director 中增加获取游戏运行总时间的 API getTotalTime()

  • 支持构建小米快游戏时启用 md5Cache 功能

  • 适配 iOS 13 浏览器对重力感应权限的请求操作

  • 适配 iPadOS 13 的平台检测(感谢 krapnikkk

  • 命令行构建增加 --force 参数用于跳过项目升级提示

  • 优化原生上的 VideoPlayer 和 WebView 的内存释放时机

  • 支持在原生上开启 WebSocket 服务器

  • 完善场景文件中的 TRS 浮点数存储精度,提升用户体验

  • 完善编辑器下 Label 和 RichText 设置字体时的操作体验

  • 完善资源面板的文件夹排序



Editor   


  • 修复保存设置后,切换项目后设置被还原的问题

  • 修复构建微信小游戏时,对应平台的压缩纹理设置不生效的问题

  • 修复重置编辑器布局后,重命名文件失败的问题

  • 修复 Sprite Editor 未能正确显示旋转后的 plist 文件的问题

  • 修复节点 highlight 时层级管理器不会自动定位的问题

  • 修复 3D 点光源添加到 5 个以上,编辑器报错的问题

  • 修复插件商店无法打开的问题

  • 修复资源导出时的报错

  • 修复构建原生平台时朝向可能设置错误的问题

  • 修复自定义构建流程时 md5 重命名在 finish-build 事件之后触发的问题

  • 修复某些情况下造成 Prefab 循环引用,导致参数丢失的问题

  • 修复游戏预览无法完全显示场景内容的问题

  • 修复删除纹理压缩格式后,资源应用按钮没有激活的问题

  • 修复从 v2.1.x 升级到 v2.2,旋转角度可能出错问题

  • 修复升级到 v2.2 后 Mask 的 Image Stencil 效果可能不对的问题



Engine   


  • 修复 v2.2.0 节点 Skew 无效的问题

  • 修复子节点 group 与父节点 group 同步的问题

  • 修复自定义材质实例化之后属性无法设置成功的问题(感谢 Elk953

  • 修复在 QtWebview 上 ArrayBuffer.isView 未定义导致的报错

  • 修复低端设备上可能不支持高精度 highp 导致的错误

  • 修复了某些平台上游戏第一帧 deltaTime 可能为负值的问题 

  • 修复 Sprite 组件 Type 选择 Filled,Filled Type 选择 Radial,修改 filledRange 时表现异常的问题

  • 修复 Label 组件在 CHAR 模式下,Vertical Align 设为 Top 或 Bottom 时的对齐问题

  • 修复 EditBox 在 editing-did-began 回调里无法设置 editBox.string 的问题

  • 修复 Button 组件在 Transition 为 Scale 时,设置节点 scale 无效的问题

  • 修复粒子系统勾选 Auto Remove On Finish 后,未勾选 Play On Load 时的播放问题

  • 修复粒子系统播放后第一帧可能爆裂的问题

  • 修复使用系统字体时,Font Family 为空导致的渲染问题

  • 修复当 Spine 还未加载,用户调用 cache 相关接口会报错的问题

  • 修复 TiledMap Object Group 纹理坐标不正确的问题

  • 修复 TiledMap 45 度角 Object Group 图片位置不正确的问题

  • 修复 TiledMap 在同一帧插入删除再插入用户节点,会报组件已存在的问题

  • 修复 TiledMap 图像图层层级错误的问题

  • 修复 TiledMap setTiledTileAt() 接口无效的问题

  • 修复 VideoPlayer 在 show all 布局下竖屏显示的问题

  • 修复当播放其他 video 时,VideoPlayer 组件宽高无法及时更新的问题

  • 修复在 once 事件回调时执行 off 方法报错的问题

  • 修复 ttf 延迟加载的问题

  • 修复重复加载场景报错之后可能导致场景无法加载的问题

  • 修复手动先释放资源,再移除节点造成纹理丢失的问题

  • 修复 cc.rotateTo 在部分情况下无效的问题

  • 修复 cc.rotateBy 在部分情况下无效的问题



Native


  • 修复 Mask 某些情况下失效的问题

  • 修复粒子系统颜色透明度过渡不正确的问题

  • 修复 Camera 勾选渲染多个 stage 时渲染错误问题

  • 修复陀螺仪无法关闭的问题

  • 修复切换前后台时 audioEngine 可能导致崩溃的问题

  • 修复 jsb.Downloader 注册回调报错的问题

  • 修复断点续传下载失败的问题(感谢 gaolizheng

  • 修复 TiledMap 多贴图的情况下,显示不正确的问题

  • 修复 DragonBones 缓存模式事件未触发的问题

  • 修复 Spine 在 Cache 模式下事件回调与 Web 平台参数不一致的问题

  • 修复 Spine 在 Cache 模式下,使用裁剪动画,且裁剪造成顶点数量增加时,可能导致缓冲区溢出的问题

  • 修复当节点 scale 不为 1 时,EditBox、WebView、VideoPlayer 显示位置出现偏移的问题

  • 修复 EditBox 输入时切换场景导致卡住的问题

  • 修复 VideoPlayer 报错的问题

  • 修复 VideoPlayer 更换 url 之后,会自动切全屏的问题

  • 修复 videoPlayer.resume() 调用无效的问题

  • 修复 WebView 的 evaluateJS() 无效的问题

  • 修复加载 plist 显示的粒子效果不正确的问题

  • 修复剔除 Motion Streak 模块会报错的问题

  • 修复使用 Graphics 组件进行多次绘制之后,已经填充的线条会被自动清除的问题

  • 修复桌面端屏幕 resize 之后,屏幕适配的问题

  • 修复 Mac 上截屏显示错误的问题

  • 修复 Windows 下 3D 模型可能显示错误的问题

  • 修复 iOS 和 Android 上屏幕旋转失效的问题

  • 修复 iOS 锁屏后解锁可能导致卡住的问题

  • 修复 iOS 上 WebView 加载网页无效的问题

  • 修复 Android EditBox 弹出时会将 view 往上推的问题

  • 修复 Android 上下载时 onProgress 传入参数错误问题



Mini Game


  • 修复 EditBox 在拉起状态下重复调用 showKeyboard 的问题

  • 修复当节点 scale 不为 1 时,VideoPlayer 显示位置出现偏移的问题

  • 修复部分小游戏平台 cc.sys.os 没定义的问题

  • 修复 vivo OPPO 上 Label 顶部被截断的问题

  • 修复支付宝上音频播放之后重新播放的问题

  • 修复支付宝上加载资源的报错

  • 修复支付宝 iOS 上的音频加载失败的问题

  • 修复微信 iOS 9 上加载引擎的报错

  • 修复微信上预加载失败后没有回调的问题

  • 修复微信上 XHR.abort() 调用失败的问题

  • 修复小游戏子包中的图片启用压缩纹理时,无法正常构建子包的问题

  • 修复小游戏子域中 BMFont 的渲染重叠及使用 Cache mode 的报错问题



DEPRECATION


从 v2.2.0 开始,我们不再建议您使用节点的 Skew 功能。Skew 通常用在 2D 引擎中模拟 3D 效果,随着 Cocos Creator 对 3D 节点的深入支持,Skew 效果已经完全可以由 3D 节点来实现。所以为了统一使用体验,进一步优化引擎底层实现,我们废弃了 Skew 属性。不过我们依旧会保留一段时间内的向下兼容,开发者可在旧项目中延续原有做法。后续我们将进一步完善兼容方式和升级案例,择机正式移除 Skew 功能。



KNOWN ISSUES


  • 由于 FBX SDK 的兼容性问题,请确保 Windows 版本的编辑器安装在英文路径下,否则可能会无法打开编辑器。此问题将在后续版本修复。

  • 目前在构建原生平台时,不能剔除 Audio 模块,否则将无法正常编译。

  • 目前 Mask 组件嵌套时,可能造成点击事件穿透。如需嵌套 Mask 请参考[#5749] 对引擎进行定制。

  • 目前粒子系统会按照正方形来渲染纹理,如果使用的纹理不是正方形则会被拉伸。请尽量使用正方形纹理,并自定义 SpriteFrame 的 trim 区域,避免空白区域被剔除,或者参考[#5666]对引擎进行定制。

  • 目前使用 Graphics 绘制的顶点数量超过 65535 之后,将无法进行绘制,如有需要参考[#206] 和[#1935]对引擎进行定制。



升级说明


  • 打开 1.x 项目的话,场景等所有资源将会自动升级,代码如有警告或报错,可参考《1.10.0 资源升级指南》和《2.0.0 升级文档》进行调整。

  • 2.0 以上项目可直接无缝升级。

  • 从 2.2.0 开始,我们强化了内存管理机制,现在要求用户通过代码动态创建且独立于场景节点树的 cc.Node 必须通过 destroy() 释放,否则引擎无法知道何时回收这类节点的内存,会导致内存泄露。

  • 此外,手动从场景中移除的节点,在不需要用到的时候也需要统一 destroy。如果通过 cc.NodePool 管理节点,则不受影响。

// 假设 testNode 是场景中的某个节点,若之前被手动移出场景了,如testNode.parent = null;// 或者testNode.removeFromParent(true);// 或者parentNode.removeChild(testNode);// 若往后 testNode 还会再次用到,则无需手动 destroy 该节点// 否则应该手动调用testNode.destroy();



参考链接


发布支付宝小游戏

https://docs.cocos.com/creator/2.2/manual/zh/publish/publish-alipay-mini-games.html


微信小游戏引擎插件使用说明

https://docs.cocos.com/creator/2.2/manual/zh/publish/wechat-engine-plugin.html


1.10.0 资源升级指南

https://docs.cocos.com/creator/2.2/manual/zh/release-notes/raw-asset-migration.html


2.0.0 升级文档

https://docs.cocos.com/creator/2.2/manual/zh/release-notes/upgrade-guide-v2.0.html



以上就是 Cocos Creator v2.2.1 更新内容,良好的品质离不开细心的打磨,Cocos 会秉持脚踏实地的精神,稳步提升产品品质。


欢迎小伙伴们继续通过论坛、GitHub、Cocos 企业服务等渠道向我们提交使用反馈!


Cocos Creator 下载:

https://www.cocos.com/creator


Cocos 中文社区:

https://forum.cocos.org/c/Creator




微信开放小游戏引擎插件,启动速度再获提升!

Cocos Creator 3D v1.0.1 正式发布

Cocos Creator 3D 物理模块介绍

Cocos Creator v2.2 自定义渲染组件及材质介绍

小姐姐,你的发丝高光怎么用 Creator 3D 实现?

极限开发《TheCode》和《Shoot the F》创作笔记

独立游戏 5000 万下载百万 DAU 竟不花一分钱?

Cocos 与腾讯云宣布战略合作,把游戏开发门槛降到极致

Cocos Creator 3D 案例《弹弹乐》技术实现分享

支付宝小游戏来啦!



我就知道你“在看”▼

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存